package com.ylbh.modules.shoppingcoupon.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.pojo.goods.dto.GoodsClassDTO;
import com.ylbh.common.pojo.shoppingcoupon.dto.QueryCouponGoodsDTO;
import com.ylbh.common.pojo.shoppingcoupon.dto.ShoppingCouponDTO;
import com.ylbh.common.utils.PageUtils;
import com.ylbh.modules.shoppingcoupon.entity.ShoppingCoupon;

import java.util.List;


/**
 *
 * 商城优惠券
 * @author czx
 * @date 2019-10-30 13:52:37
 */
public interface ShoppingCouponService extends IService<ShoppingCoupon> {

    /**
     * 商城优惠券列表信息
     * @param shoppingCouponDTO
     * @return
     */
    PageUtils queryCouponList(ShoppingCouponDTO shoppingCouponDTO);

    /**
     * 根据类型查询分类
     * @param type
     * @return
     */
    List<GoodsClassDTO> queryClass(Integer type);

    /**
     * 根据类型和id查询商品
     * @param queryCouponGoodsDTO
     * @return
     */
    PageUtils queryGoodsByTypeOrId(QueryCouponGoodsDTO queryCouponGoodsDTO);

    /**
     * 新增商品优惠券
     * @param shoppingCoupon
     */
    void addCoupon(ShoppingCoupon shoppingCoupon);

    /**
     * 查询商城优惠券详情
     * @param id
     * @return
     */
    ShoppingCoupon getCouponInfoById(String id);

    /**
     * 修改商城优惠券信息
     * @param shoppingCoupon
     */
    void modifyCouponById(ShoppingCoupon shoppingCoupon);

    /**
     * 商城优惠券启用与关闭
     * @param id
     * @param state
     */
    void modifyCouponStateById(String id, Integer state);

    /**
     * 删除商城优惠券
     * @param ids
     */
    void removeCouponByIds(List<String> ids);
}

